home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
351-375
/
disk_370
/
sksh
/
addendum1.1.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
8KB
|
331 lines
Addendum for Version 1.1
SKSH
A ksh-like Shell for the Amiga
Version 1.5
(Copyright) 1989, 1990
Steve Koren
July 20, 1990
Addendum to Version 1.1
This document describes additions and changes to SKsh since
version 1.0.
More Filename Completion Features
Two new filename completion features have been added.
<esc>= will list matching filenames and let you continue
typing, and <esc>* will insert matching filenames into the
command line. See the 'filename completion' section of the
Users' Guide for more details on the exact operation of
these new features.
Completed rm, cp, and mv Commands
The 'rm', 'cp', and 'mv' commands have been completed.
'rm' and 'cp' now support a -r flag for recursive
operations, and all three support a '-v' (verbose) flag
which prints the file names as they are operated upon.
The only remaining addition is a -c (clone) option to 'cp'
which keeps date stamps and file permissions intact. I'll
add this as soon as I figure out how.
Command Line Editing changes
The word-based command line editing features now have a
slightly more intuitive idea of what a 'word' is.
Return Code bug fixed
Version 1.0 contained a bug which "lost" return codes from
external commands. This means that, for example, the 'cmp
-s' command could not be used in a test statement. This
bug has been fixed in 1.1. Also, $? is set accordingly.
'.' (source) bug fixed
An error in the .skshinit script has been fixed. '.' now
can be used to 'source' a file if the '.' is the first
command on the line. This was broken in 1.0, since the
alias definition read:
alias . ='source'
instead of the correct:
alias '.' ='source'
SKSH Amiga Shell Page 2 Addendum to 1.1
Superfluous directory lock bug fixed
SKsh 1.0 often neglected to UnLock() directories after a
directory scan. The directories could not then be removed.
This bug has been fixed in 1.1.
export bug fixed
A bug in 1.0 caused 'export' to incorrectly set the value
of the AmigaDos environment variable. This has been fixed.
However, a bug in either the compiler or OS is still
preventing 'getenv' from working correctly. I have
isolated this bug in a 5-line test program, but I cannot
fix it since it does not seem to be an SKsh bug.
cp acts friendlier upon file write error
In 1.0, the 'cp' command would try to write all remaining
files even if one file had a write-error. This meant that
the 'disk full' requester would appear multiple times.
This bug has been fixed in 1.1, and 'cp' gives up after the
first file write error. In addition, the partially
completed file is properly UnLocked.
Break key now works during directory scan
You can now type ^c during a directory scan, and SKsh will
halt the scan. This is useful when you a 'dir' on a full
directory and then realize you don't need the information.
SKsh is now "pure"
SKsh can now be made resident. This cost about 3K of
executable size, but will save about 70k bytes for each
subsequent invocation of SKsh. In order for this to work
correctly, SKsh must be invoked from the AmigaDos 'shell'.
Documentation updates
The documentation has been updated to reflect the changes
in 1.1, and some documentation bugs have been fixed. In
addition, I added a 'Hints.doc' file. I will include
helpful hints and "neat" things in this file as I encounter
them. For example, this 'Hints.doc' file has instructions
for making 'newcli' automatically start a resident SKsh
program, and the SKsh 'exit' command automatically remove
this window when SKsh completes. If you have anything
which you think may be helpful to other people, send it to
SKSH Amiga Shell Page 3 Addendum to 1.1
me and I might include it in that file.
Shell function memory leak bug fixed
In version 1.0, about 90 bytes of memory were lost for each
function that was run. This bug has been fixed in version
1.1.
New backward-delete word editing command
A backward delete word editing command has been added. It
is mapped to <esc><backspace>.
New Run function to search SKsh path
A new 'run' function has been defined in .skshinit which
searches the sksh $PATH. This avoids the awkward
construction of:
run $(which command) args
You can examine the definition of this function in the
.skshinit file.
Change to automatic non-SKsh shell script detection
SKsh now accepts '/*' in addition to '#!' and ';!' as the
first two characters of a non-SKsh shell script. This
change was made in an attempt to provide Arexx script
support, but please note that I don't have Arexx and I have
never tried this. I have just been told that Arexx uses
'/*' as the begin comment character. Something like:
/*rx
*/
At the beginning of an Arexx script *might* work, invoking
the Arexx script without an explicit 'rx' call. Again, I
have not tested this.
Other Notes
This will probably be the last 'beta' version of SKsh. That
is, consider this version to still be in the 'debugging'
stages. It is more stable than the first, but I'm sure there
are still some bugs that need to be worked out. I hope to
find most of the serious ones by the next release. In the
meantime, this version is more robust then 1.0.
SKSH Amiga Shell Page 4 Addendum to 1.1
One final note: be sure that you re-install the .skshinit file
in the s: directory, since it has changed from version 1.0.
The .skshrc file has not changed, so that one need not be re-
installed.
SKSH Amiga Shell Page 5 Addendum to 1.1